package com.niit.covid.sort;


import com.niit.covid.bean.CovidCountBean2;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;

import java.io.IOException;

/**
 * @author:Ys
 * @date: 2022年08月11日 14:48
 * @desc:
 */
public class CovidSortSumReducer extends Reducer<CovidCountBean2, Text,Text,CovidCountBean2> {

    @Override
    protected void reduce(CovidCountBean2 key, Iterable<Text> values, Context context) throws IOException, InterruptedException {
        /**
         * 排序好之后 reduce会进行分组操作，分组规则是判断key是否相等
         * 本业务中，使用自定义对象作为key，并且没有重写分组规则，默认就会比较对象的地址，导致每个kv队就是一组
         * <CovidCountBean2,加州> --------------><CovidCountBean2,Iterable加州[]>
         * <CovidCountBean2,德州> --------------><CovidCountBean2,Iterable[德州]>
         */

        Text outValue = values.iterator().next(); //得到的就是州名

        context.write(outValue,key);


    }
}
